/**
 * 项目名：五位一体化工安全信息平台
 * 日期：    2019-12-07 19:44:55
 * Copyright (c) 2015- joysuch-版权所有
 */

package com.joysuch.wwyt.bp.bean;

import com.joysuch.wwyt.bp.bean.safetyworkcert.BpWorkUserCertsDto;
import com.joysuch.wwyt.core.bean.BaseAttachmentBean;
import com.joysuch.wwyt.core.common.ajax.ResultBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
@ApiModel(value = "作业证")
public class BpWorkSafetyCertDetailBean implements java.io.Serializable {

    // columns START
    // ID
    @ApiModelProperty(value = "作业证id")
    private Long id;

    // 作业证编号
    @ApiModelProperty(value = "作业证编号")
    private String code;

    // 作业类型
    @ApiModelProperty(value = "作业类型")
    private String type;

    // 作业级别
    @ApiModelProperty(value = "作业级别")
    private Integer workLevel;

    // 作业名称
    @ApiModelProperty(value = "作业名称")
    private String workLevelName;

    // 作业开始时间
    @ApiModelProperty(value = "作业开始时间")
    private java.util.Date startTime;

    // 作业结束时间
    @ApiModelProperty(value = "作业结束时间")
    private java.util.Date endTime;

    // 申请日期
    @ApiModelProperty(value = "申请日期")
    private java.util.Date applyTime;

    // 状态
    @ApiModelProperty(value = "状态")
    private Integer state;
    private String stateName;

    // 申请单位
    @ApiModelProperty(value = "申请单位")
    private Long applyDepartId;
    private String applyDepartName;

    // 申请人
    @ApiModelProperty(value = "申请人")
    private Long applyUserId;
    private String applyUserName;

    // 作业地点
    @ApiModelProperty(value = "作业地点")
    private String locationCoords;

    // 作业内容
    @ApiModelProperty(value = "作业内容")
    private String workContent;

    // 所属风险区域
    @ApiModelProperty(value = "所属风险区域id")
    private Long riskDistrictId;
    private String riskDistrictName;

    // 监护人
    @ApiModelProperty(value = "监护人id")
    private String monitorUserCode;
    private String monitorUserName;

    // 实施安全教育人
    @ApiModelProperty(value = "实施安全教育人")
    private String educationUserCode;
    private String educationUserName;

    // 风险点
    @ApiModelProperty(value = "风险点")
    private Long riskPointId;
    private String riskPointName;

    // 区域下的风险点信息，此信息是为了兼容前端无法在加载后立刻发送ajax请求
    @ApiModelProperty(value = "区域下的风险点信息")
    private ResultBean riskPoints;

    // 风险级别
    @ApiModelProperty(value = "风险级别")
    private Integer riskLevel;

    // 附件ID
    @ApiModelProperty(value = "附件ID")
    private BaseAttachmentBean attachment;

    //作业地点
    @ApiModelProperty(value = "工作地点")
    private String jobSite;

    // 危害辨识
    @ApiModelProperty(value = "危害辨识")
    private String dangerRecoganize;

    // 编制人
    @ApiModelProperty(value = "编制人")
    private Long editUserId;
    private String editUserName;

    // 涉及的其他特殊行业
    @ApiModelProperty(value = "涉及的其他特殊行业")
    private List<BpOtherSpecialWorkBean> bpOtherSpecialWorkBeans;
    @ApiModelProperty(value = "涉及的其他特殊行业id集合")
    private List<Long> otherSpecialWorkId;
    @ApiModelProperty(value = "涉及的其他特殊行业name集合")
    private List<String> otherSpecialWorkName;

    // 审核人
    @ApiModelProperty(value = "审核人id")
    private Long auditUserId;
    private String auditUserName;

    // 验收备注
    @ApiModelProperty(value = "验收备注")
    private String checkRemark;

    // 作业其他信息内容字段（JSON格式）
    @ApiModelProperty(value = "作业其他信息内容字段（JSON格式）")
    private String workOtherInfoEntityJson;

    // 兼容前端，查询本次风险点的评估结果
    @ApiModelProperty(value = "查询本次风险点的评估结果")
    private String evalutionResult;

    // 操作人
    @ApiModelProperty(value = "操作人")
    private List<BpWorkSafetyApplyUserDetailBean> people;

    // 安全措施
    @ApiModelProperty(value = "安全措施")
    private List<BpWorkSafetyApplyMethodEditBean> safetyMethods;

    // 2019年12月13日 申华要求添加字段
    // 是否需用电申请签单
    @ApiModelProperty(value = "是否需用电申请签单")
    private String needEletricityApplySheet;

    // 工具名称
    @ApiModelProperty(value = "工具名称")
    private String workToolName;
    // 2019年12月13日 申华要求添加字段 -- 结束
    // columns END

    // 2019年12月15日11:58
    // jha评估ID
    @ApiModelProperty(value = "jha评估ID")
    private Long jhaEvaluationId;

    // 审核相关信息
    @ApiModelProperty(value = "审核人")
    private String auditUser;
    @ApiModelProperty(value = "审核状态")
    private Integer auditState;
    @ApiModelProperty(value = "审核状态名称")
    private String auditStateName;
    @ApiModelProperty(value = "审核信息")
    private String auditMsg;
    @ApiModelProperty(value = "审核时间")
    private String auditTime;

    // 验收相关信息
    // 验收人
    @ApiModelProperty(value = "验收人id")
    private Long checkUserId;
    @ApiModelProperty(value = "验收人名称")
    private String checkUser;
    @ApiModelProperty(value = "验收状态")
    private Integer checkState;
    @ApiModelProperty(value = "作业证编号")
    private String checkStateName;
    @ApiModelProperty(value = "验收消息")
    private String checkMsg;
    @ApiModelProperty(value = "验收时间")
    private String checkTime;

    // columns END
    //是否报警
    @ApiModelProperty(value = "是否报警")
    private String alarm;

    //报警内容
    @ApiModelProperty(value = "报警内容")
    private String content;

    //超出报警
    @ApiModelProperty(value = "超出报警")
    private String beyond;

    //允许人员
    @ApiModelProperty(value = "允许人员")
    private String personnel;


    //公有字段 start
    //申请人证书ids
    @ApiModelProperty(value = "申请人证书")
    private BpWorkUserCertsDto applyUserCertName;

    //监护人证书ids
    @ApiModelProperty(value = "监护人证书")
    private BpWorkUserCertsDto monitorUserCertName;

    //实施安全教育人证书ids
    @ApiModelProperty(value = "实施安全教育人证书")
    private BpWorkUserCertsDto educationUserCertName;

    //编制人证书ids
    @ApiModelProperty(value = "编制人证书")
    private BpWorkUserCertsDto editUserCertName;

    //操作人证书ids
    @ApiModelProperty(value = "操作人证书")
    private List<BpWorkSafetyApplyUserDetailBean> operatorUserCertNames;
    //公有字段 end

    //受限空间分析记录
    @ApiModelProperty(value = "受限空间分析记录")
    private List<BpWorkSafetyWebSpaceBean> webSpaceBeans;

    @ApiModelProperty(value = "作业证人员分类")
    private BpWorkSafetyPeopleTypeBean peopleTypeBean;
}
